In many audio-visual or multimedia applications involving images, sound, and/or moving pictures (i.e., videos), the basic unit of data is the 8-bit byte. An 8-bit data byte can represent any one of 28=256 different binary levels, and two 8-bit bytes can represent any one of 216=65,536 different binary levels. The levels may be equally sized (linear quantization) or different sizes (e.g., logarithmic quantization). For example, in the United States, telephone voice signals are typically sampled using logarithmic u-law encoding.
Images and individual frames of moving pictures or videos are made up of two-dimensional arrays of picture elements (i.e., “pixels”) called bitmaps. Each pixel is typically represented by a collection of bits conveying intensity and/or color. For example, a single bit allows only two values (e.g., black and white), while 8 bits allows 28=256 different values (e.g., black, white, and 254 intermediate shades of gray).
The acronym “MPEG” is commonly used to refer to the family of standards developed by the Moving Picture Experts Group (MPEG) for coding audio-visual information (e.g., movies, video, music) in a digital compressed format. MPEG data compression has greatly facilitated the storing and distribution of digital video and audio signals.
In general, MPEG video data compression predicts motion from frame to frame in time, then uses discrete cosine transforms (DCTs) to organize redundancy in other dimensions (i.e., other “spatial directions”). Motion prediction is typically performed on 16×16 pixel blocks called “macroblocks,” and DCTs are performed on 8×8 pixel blocks of the macroblocks. For example, given a 16×16 macroblock in a current frame, an attempt is made to find a closely matching macroblock in a previous or future frame. If a close match is found, DCTs are performed on differences between the 8×8 pixel blocks of the current macroblock and the close match. On the other hand, if a close match is not found, DCTs are performed directly on the 8×8 pixel blocks of the current macroblock. The resulting DCT coefficients are then divided by a determined value (i.e., “quantized”) and Huffman coded using fixed tables.
In the MPEG standards, the fundamental unit of data is the 8-bit byte. Each pixel of a video frame typically has three color components, each represented by one or more bytes. For example, each pixel may be represented by a 24-bit red-green-blue (RGB) value having one byte for red, one byte for green, and one byte for blue.
It would thus be advantageous to have a computer system capable of efficiently operating on 8-bit data bytes.